// RAP [rh] Keys completely disabled as not implemented in RWT
///*******************************************************************************
// * Copyright (c) 2000, 2006 IBM Corporation and others.
// * All rights reserved. This program and the accompanying materials
// * are made available under the terms of the Eclipse Public License v1.0
// * which accompanies this distribution, and is available at
// * http://www.eclipse.org/legal/epl-v10.html
// *
// * Contributors:
// * IBM Corporation - initial API and implementation
// *******************************************************************************/
//
//package org.eclipse.ui.internal.keys;
//
//import org.eclipse.ui.commands.IKeySequenceBinding;
//import org.eclipse.ui.internal.util.Util;
//import org.eclipse.ui.keys.KeySequence;
//
//public final class KeySequenceBinding implements IKeySequenceBinding {
//
// /**
// * This is the identifier for the default context. This is used wherever
// * some default is needed. For example, this is the context that is used
// * for key bindings that specify no context. This is also used to select a
// * default context in the keys preference page.
// */
// public static final String DEFAULT_CONTEXT_ID = "org.eclipse.ui.contexts.window"; //$NON-NLS-1$
//
// private final static int HASH_FACTOR = 89;
//
// private final static int HASH_INITIAL = KeySequenceBinding.class.getName()
// .hashCode();
//
// private transient int hashCode;
//
// private transient boolean hashCodeComputed;
//
// private KeySequence keySequence;
//
// private int match;
//
// private transient String string;
//
// public KeySequenceBinding(KeySequence keySequence, int match) {
// if (keySequence == null) {
// throw new NullPointerException();
// }
//
// if (match < 0) {
// throw new IllegalArgumentException();
// }
//
// this.keySequence = keySequence;
// this.match = match;
// }
//
// public int compareTo(Object object) {
// KeySequenceBinding castedObject = (KeySequenceBinding) object;
// int compareTo = Util.compare(match, castedObject.match);
//
// if (compareTo == 0) {
// compareTo = Util.compare(keySequence, castedObject.keySequence);
// }
//
// return compareTo;
// }
//
// public boolean equals(Object object) {
// if (!(object instanceof KeySequenceBinding)) {
// return false;
// }
//
// final KeySequenceBinding castedObject = (KeySequenceBinding) object;
// if (!Util.equals(keySequence, castedObject.keySequence)) {
// return false;
// }
//
// return Util.equals(match, castedObject.match);
// }
//
// public KeySequence getKeySequence() {
// return keySequence;
// }
//
// public int getMatch() {
// return match;
// }
//
// public int hashCode() {
// if (!hashCodeComputed) {
// hashCode = HASH_INITIAL;
// hashCode = hashCode * HASH_FACTOR + Util.hashCode(keySequence);
// hashCode = hashCode * HASH_FACTOR + Util.hashCode(match);
// hashCodeComputed = true;
// }
//
// return hashCode;
// }
//
// public String toString() {
// if (string == null) {
// final StringBuffer stringBuffer = new StringBuffer();
// stringBuffer.append('[');
// stringBuffer.append(keySequence);
// stringBuffer.append(',');
// stringBuffer.append(match);
// stringBuffer.append(']');
// string = stringBuffer.toString();
// }
//
// return string;
// }
//}